package com.societyGames.flashForms
{
	import com.societyGames.flashForms.basicSkin.BasicAssets;
	
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.DisplayObject;
	import flash.display.Sprite;
	import flash.geom.Matrix;
	import flash.geom.Rectangle;

	public class Cursors
	{
		{
			staticInitializer();
		}
		
		private static function staticInitializer():void
		{
			_leftRightCursor = new BasicAssets.CursorLeftRightSpriteClass();
			_upDownCursor = new BasicAssets.CursorUpDownSpriteClass();
			_leftDownCursor = new BasicAssets.CursorUpRightSpriteClass();
			_rightDownCursor = new BasicAssets.CursorUpLeftSpriteClass();
		}
		
		private static var _leftRightCursor:DisplayObject;
		private static var _upDownCursor:DisplayObject;
		private static var _leftDownCursor:DisplayObject;
		private static var _rightDownCursor:DisplayObject;
		
		private static function createBitmap(source:Sprite):Bitmap  
		{  
			var sourceRectangle:Rectangle = source.getBounds(source);  
			var matrix:Matrix = new Matrix();
			matrix.translate( -sourceRectangle.x, -sourceRectangle.y );
			var bitmapData:BitmapData = new BitmapData( source.width + 1, source.height + 1, true, 0);
			bitmapData.draw( source, matrix );
			return new Bitmap(bitmapData);  
		}  
		
		public static function get leftRightCursor():DisplayObject
		{
			return _leftRightCursor;
		}
		
		public static function get upDownCursor():DisplayObject
		{
			return _upDownCursor;
		}
		
		public static function get leftDownCursor():DisplayObject
		{
			return _leftDownCursor;
		}
		
		public static function get rightDownCursor():DisplayObject
		{
			return _rightDownCursor;
		}
	}
}